#include <iostream>
using namespace std;
typedef long long LL;//别忘了
const LL N = 1e11 + 10;
LL n, m ,k;
LL find(LL x)
{
    LL ret = 0;
    for (LL i = 1;i <= n;i++)
    {
        ret += min(m, x / i);//这一行小于等于x的数字个数
    }
    return ret;
}
int main()
{
    cin >> n >> m >> k;
    LL l = 1;LL r = n * m;
    while (l < r)
    {
        LL mid = (l+r)>>1;
        if (find(mid) >= k) r = mid;
        else l = mid + 1;
    }
    cout << l << endl;
    return 0;
}